import Vue from 'vue'
import Router from 'vue-router'
import VueCookies from 'vue-cookies'


const UserInfo = () => import('../views/UserInfo');
const Company = () => import('../views/Company');
const Login = () => import('../views/Login');
const Index = () => import('../views/Index');

Vue.use(Router);

/**
 *  前后端为什么都需要做权限：
 *     1.前端做权限的目的，为了用户体验。
 *     2.后端为了防止用户绕过前端前端页面，直接通过代码来调用。
 */

const router = new Router({
    mode: 'history',
    routes: [
        {
            path: '/',
            redirect: '/index'
        },
        {
            path: '/index',
            component: Index,
            children: [
                {
                    path: '/index/userinfo',
                    component: UserInfo,
                    // meta对于后面的按钮权限控制有用。
                    meta: ["user:list", "user:add", "user:edit"]
                },
                {
                    path: '/index/company',
                    component: Company
                }
            ]
        },
        {
            path: '/login',
            component: Login
        }
    ]
});

//全局路由守卫， 用户进入到任何的路径，都需要走该代码
router.beforeEach((to, from, next) => {
    // window.console.log(to);
    // 1. 如果用户是到登录页面直接放其过
    // 2.用户登录过，也让其过，因为用户如果登录过 VueCookies.set('token', token);
    if(to.path.indexOf('/login') > -1 || VueCookies.get('token')) {
        next();  //直接放其过
    }else {
        next({path: '/login'});
    }
});

export default router;